﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SIOCUR.Models;
using SIOCUR.Controllers;

namespace SIOCUR.Controllers
{
    public class UserController : Controller
    {
        SIOCURRepository dbpRepository = new SIOCURRepository();

        public void Index()
        {
            Response.Write("<h1>Usuarios......</h1>");
        }


        /*
        public ActionResult Valida(string nombre)
        {
            //Usuario usu = dbpRepository.GetUsuario(nombre); -- bueno pa oracle

            USUARIOSIOCUR usu = dbpRepository.GetUsuario(nombre);

            //Response.Write("<h1>Details DinnerID: " + n + "</h1>");
            // var dinners = dinnerRepository.FindUpcomingDinners().ToList();
            // Dinner dinner = dinnerRepository.GetDinner(id);
            if (usu == null)
                return View("NotFound");
            else
                return View("LogInn", usu);

        }*/

        public ActionResult Valida()
        {
            return View("Valida");
        }

         public ActionResult Todos()
        {
            var users = dbpRepository.FindAllUsuarios().ToList();
            return View(users);
        }


        

        public ActionResult Crea()
        {
            return View("Crea");
        }

        [HttpPost]
        public ActionResult Crea(FormCollection formValues)
        {
            //usuarios usu = new usuarios();
            //UpdateModel(usu);
            //dbpRepository.Save();
            //return View("Agregado");

            //int aux = Request.Form["id"];

            dbpRepository.AddUsuario(Request.Form[0], Request.Form[1], Request.Form[2], Request.Form[3], Request.Form[4]);

            //dbpRepository.AddUsuario("q","q");

            //usuarios usu = new usuarios();
            //usu.nom_usu = Request.Form[0];
            //usu.nom_usu = Request.Form[1];
            // usu.pwd_usu = Request.Form[2];
            //dbpRepository.Save();

            return View("Agregado");

        }

        //
        // POST: /user/Valida/usuario, contraseña
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Valida(FormCollection formValues, USUARIOSIOCUR usu)
        {

            usu = dbpRepository.GetUsuario(Request.Form[0]);
            
           /* USUARIOSIOCUR usu = new USUARIOSIOCUR();
            usu.USUARIO = Request.Form[0];

            if (usu.USUARIO == "")
            {
                return View("Index");
            }


            usu.CONTRASENA = Request.Form[1];
            */
            
            
            if (ModelState.IsValid)
                {
                    if (usu == null)
                        return View("NotFound");
                    else
                        if (usu.CONTRASENA == Request.Form[1])
                        {
                            if (usu.SISTEMA == "poliducto")
                            {
                                Session["sesionname"] = usu.USUARIO;
                                Session["sesionestacion"] = usu.ESTACION;
                                Session["sesionsistema"] = usu.SISTEMA;
                                Session["fechhh"] = DateTime.Now.ToString();

                                if (usu.TIPO_USER == "jo")
                                {
                                    return View("JefePoli", usu);
                                }

                                return View("Poliducto", usu);
                            }
                            else
                                if (usu.SISTEMA == "oleoducto")
                                {
                                    Session["sesionname"] = usu.USUARIO;
                                    Session["sesionestacion"] = usu.ESTACION;
                                    Session["sesionsistema"] = usu.SISTEMA;
                                    return View("Oleoducto", usu);
                                }    
                                
                        }                         
                }
                else
                {
                    return View();
                }
            

                return View("NotFound");
                
        }

        public ActionResult Salir()
        {
            Session.Remove("sesionname");
            Session.Remove("sesionestacion"); 
            Session.Remove("sesionsistema");
            Session.RemoveAll();

            return RedirectToAction("Index", "Home");

        }
             

        

        public ActionResult Poliducto()
        {
            return View("Poliducto");
        }

        public ActionResult Oleoducto()
        {
            return View("Oleoducto");
        }

        public ActionResult JefePoli()
        {
            return View("JefePoli");
        }
      
    }
}
